package com.roncoo.education.user.service.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.roncoo.education.user.common.bo.UserExtBo;
import com.roncoo.education.user.common.bo.UserTagBo;
import com.roncoo.education.user.feign.vo.UserExtVO;
import com.roncoo.education.user.service.dao.impl.mapper.entity.UserExt;
import com.roncoo.education.user.service.dao.impl.mapper.entity.UserExtExample;
import com.roncoo.education.user.service.dao.impl.mapper.entity.UserTag;
import com.roncoo.education.util.base.Page;
public interface UserExtDao {
	int save(UserExt record);

	int deleteById(Long id);

	int updateById(UserExt record);

	UserExt getById(Long id);

	Page<UserExt> listForPage(int pageCurrent, int pageSize, UserExtExample example);

	UserExt getByUserNo(Long userNo);

	int updateByUserNo(UserExt record);

	/**
	 * 根据手机号码获取用户信息
	 * 
	 * @param mobile
	 * @return
	 * @author wuyun
	 */
	UserExt getByMobile(String mobile);

	/**
	 * 获取用户注册量
	 * 
	 * @param date
	 * @return
	 * @author wuyun
	 */
	Integer sumByCountOrders(String date);


	List<UserExt> searchByNicknameAndDepartment(UserExtExample example);
	
	/**
	 * 用户列表/搜索
	 * @param pageCurrent
	 * @param pageSize
	 * @param userExt
	 * @return
	 */
//	List<UserExt> userList(UserExt userExt);
	Page<UserExt> userListPage(int pageCurrent, int pageSize, UserExtBo userExt);
	
	/**
	 * 获取用户所有标签
	 * @return
	 */
//	List<Tag> getTagNameList();
	Page<UserTag> getTagNameList(int pageCurrent, int pageSize,UserTagBo userTag);
	
	/**
	  * 根据用户编号获取用户信息
	 * @param tagId
	 * @return
	 */
	List<UserExtVO> getUserInfo(Long userNo,String department,String nickname);
	
	List<UserExt> getUserExtByUserNo(Long userNo);
	
}
